// Mouse Driver
// (c) jimon game studio

#ifndef JEH_CMOUSEDRIVER
#define JEH_CMOUSEDRIVER

#include "IMouseDriver.h"
#include "IWindow.h"

namespace je
{
	namespace input
	{
		//! Mouse Driver
		class CMouseDriver:public je::input::IMouseDriver
		{
		protected:

			device::IWindow * CurrentWindow;

			s32 MouseWheelPos;

			u1 CursorVisible;

		public:
			//! Constructor
			CMouseDriver(device::IWindow * window);

			//! Destructor
			~CMouseDriver();

			//! Set Position
			void SetPosition(const jeVector2df & NewPosition);

			//! Get Position
			jeVector2df GetPosition();

			//! Get Mouse Wheel Position
			s32 GetMouseWheelPosition();

			//! Flush Mouse Wheel
			void FlushMouseWheel()
			{
				MouseWheelPos = 0;
			}

			//! Set cursor visible
			void SetCursorVisible(u1 Visible);

			//! Return true if cursor visible
			u1 IsCursorVisible();

			//! Set Mouse Wheel Position
			void SetMouseWheelPosition(s32 NewPos);
		};
	}
}

#endif
